﻿using System;
using System.Collections.Generic;
//using System.Data.Services.Common;

namespace PlanB.ShareDove.ConferenceOrganization.BusinessLayer.DataLayerInterface.Entities
{

    /// <summary>
    /// Class which defines Conference session entity
    /// </summary>
    public class ConferenceSession : ConferenceBaseEntity
    {

        /// <summary>
        /// Session Title
        /// </summary>
        public string Title { get; set; }

        /// <summary>
        /// Session abstract
        /// </summary>
        public string Abstract { get; set; }

        /// <summary>
        /// Speaker(s) on this session
        /// </summary>
        public IEnumerable<ConferenceParticipant> Speakers { get; set; }

        /// <summary>
        /// ISO 639-1 (2-letter) code of the session language
        /// </summary>
        public string Language { get; set; }

        /// <summary>
        /// Session level
        /// </summary>
        public string Level { get; set; }

        /// <summary>
        /// Conference room where session is held
        /// </summary>
        public ConferenceRoom Room { get; set; }

        /// <summary>
        /// Conference Track which session belongs to
        /// </summary>
        public ConferenceTrack Track { get; set; }

        /// <summary>
        /// Date and time of the session
        /// </summary>
        public DateTime Slot { get; set; }

        /// <summary>
        /// Duration in minutes
        /// </summary>
        public int Duration { get; set; }

        /// <summary>
        /// Session's end time
        /// </summary>
        public DateTime EndTime
        {
            get
            {
                return Slot.AddMinutes(Convert.ToDouble(Duration));
            }
        }

    }
}
